﻿using ExcellentProjectPlus.Dominio.Examenes.Entidades;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ExcellentProjectPlus.Aplicacion.Examenes.Calendarizaciones
{
    public interface IServicioDeGestionDeCalendarizaciones
    {
        #region Administracion de Calendarizacion
        IEnumerable<Calendarizacion> ObtenerCalendarizaciones();
        IEnumerable<Calendarizacion> ObtenerCalendarizacionesPaginado(int pagina, int tamanio);
        Calendarizacion ObtenerCalendarizacionPorId(int id);
        IEnumerable<Calendarizacion> ObtenerFechasCalendarizacion(DateTime fechaseleccionada);
        void AgregarCalendarizacion(Calendarizacion calendarizacion);
        void ModificarCalendarizacion(Calendarizacion calendarizacion);
        void EliminarCalendarizacion(Calendarizacion calendarizacion);
        #endregion

        IEnumerable<InformacionCalendarizacionExamen> ObtenerInformacionCalendarizacionExamen(string estado);
        IEnumerable<Calendarizacion> ObtenerExamenesPendientesPorCurso(int idCurso);
        IEnumerable<Calendarizacion> ObtenerExamenesPendientesPorEstudiante(int idEstudiante);

        IEnumerable<InformacionCalendarizacionExamen> ObtenerInformacionCalendarizacionExamen(int idDocente, string estado);
        IEnumerable<Calendarizacion> ObtenerExamenesPendientesPorDocente(int idDocente);
    }
}
